package com.laowang.project.system.mapper;

import java.util.List;

import com.laowang.project.system.domain.MyCyhActivitySign;
import com.laowang.project.system.domain.vo.WxUserVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 活动报名Mapper接口
 *
 * @author laowang
 * @date 2023-05-22
 */
public interface MyCyhActivitySignMapper {
    /**
     * 查询活动报名
     *
     * @param id 活动报名ID
     * @return 活动报名
     */
     MyCyhActivitySign selectMyCyhActivitySignById(Integer id);

    /**
     * 查询活动报名列表
     *
     * @param myCyhActivitySign 活动报名
     * @return 活动报名集合
     */
     List<MyCyhActivitySign> selectMyCyhActivitySignList(MyCyhActivitySign myCyhActivitySign);

    /**
     * 新增活动报名
     *
     * @param myCyhActivitySign 活动报名
     * @return 结果
     */
    int insertMyCyhActivitySign(MyCyhActivitySign myCyhActivitySign);

    /**
     * 修改活动报名
     *
     * @param myCyhActivitySign 活动报名
     * @return 结果
     */
    int updateMyCyhActivitySign(MyCyhActivitySign myCyhActivitySign);

    /**
     * 删除活动报名
     *
     * @param id 活动报名ID
     * @return 结果
     */
    int deleteMyCyhActivitySignById(Integer id);

    /**
     * 批量删除活动报名
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteMyCyhActivitySignByIds(Integer[] ids);

    @Select("select * from my_cyh_activity_sign where activity_id =#{activityId} and user_id =#{userId} ORDER BY id desc limit 1")
    MyCyhActivitySign   selectByIdAndUserId(@Param("activityId") Integer activityId,@Param("userId") Integer userId);


    List<MyCyhActivitySign> selectMyCyhActivitySignListByCreateBy(MyCyhActivitySign myCyhActivitySign);

    List<WxUserVo> selectUserById(@Param("activityId") Integer activityId,@Param("userId") Integer userId);
}
